home *** CD-ROM | disk | FTP | other *** search
/ Computer Select (Limited Edition) / Computer Select.iso / pcc / v04n12 / batch2.exe / COLOR.BAT < prev    next >
Encoding:
DOS Batch File  |  1991-10-10  |  2.3 KB  |  92 lines

  1. @ECHO OFF
  2. REM This is COLOR.BAT
  3. REM It shows use of MENU and DISPATCH "subroutines"
  4. IF NOT EXIST FOREG.COM GOTO OOPS
  5. IF NOT EXIST BACKG.COM GOTO OOPS
  6. BACKG
  7. SET C=back
  8. GOTO MENU
  9. :BACK
  10. FOREG
  11. SET C=fore
  12. GOTO MENU
  13. :FORE
  14. ECHO Want to change these colors (Y or N)?
  15. KEY
  16. IF ERRORLEVEL 89 IF NOT ERRORLEVEL 90 GOTO CHANGEFG
  17. GOTO END
  18. :CHANGEFG
  19. SET D=FG
  20. CLS
  21. ECHO Pick a foreground color:
  22. ECHO Black   (0)
  23. ECHO Red     (1)
  24. ECHO Green   (2)
  25. ECHO Yellow  (3)
  26. ECHO Blue    (4)
  27. ECHO Magenta (5)
  28. ECHO Cyan    (6)
  29. ECHO White   (7)
  30. ECHO (Or Press Esc to abort)
  31. KEY
  32. GOTO DISPATCH
  33. :CHANGEBG
  34. SET D=BG
  35. ECHO Pick a background color:
  36. IF NOT %FG%==0 ECHO Black   (0)
  37. IF NOT %FG%==1 ECHO Red     (1)
  38. IF NOT %FG%==2 ECHO Green   (2)
  39. IF NOT %FG%==3 ECHO Yellow  (3)
  40. IF NOT %FG%==4 ECHO Blue    (4)
  41. IF NOT %FG%==5 ECHO Magenta (5)
  42. IF NOT %FG%==6 ECHO Cyan    (6)
  43. IF NOT %FG%==7 ECHO White   (7)
  44. ECHO (Or Press Esc to abort)
  45. KEY
  46. GOTO DISPATCH
  47. :DUPCHEK
  48. IF NOT %FG%==%BG% GOTO RESET
  49. ECHO CanÆt have the same foreground and background!
  50. GOTO CHANGEBG
  51. :MENU
  52. ECHO Your current %C%ground color is:
  53. IF ERRORLEVEL 0 IF NOT ERRORLEVEL 1 ECHO Black   (0)
  54. IF ERRORLEVEL 4 IF NOT ERRORLEVEL 5 ECHO Red(1)
  55. IF ERRORLEVEL 2 IF NOT ERRORLEVEL 3 ECHO Green   (2)
  56. IF ERRORLEVEL 6 IF NOT ERRORLEVEL 7 ECHO Yellow  (3)
  57. IF ERRORLEVEL 1 IF NOT ERRORLEVEL 2 ECHO Blue    (4)
  58. IF ERRORLEVEL 5 IF NOT ERRORLEVEL 6 ECHO Magenta (5)
  59. IF ERRORLEVEL 3 IF NOT ERRORLEVEL 4 ECHO Cyan    (6)
  60. IF ERRORLEVEL 7 IF NOT ERRORLEVEL 8 ECHO White   (7)
  61. GOTO %C%
  62. :DISPATCH
  63. IF ERRORLEVEL 56 GOTO CHANGE%D%
  64. IF ERRORLEVEL 55 IF NOT ERRORLEVEL 56 SET %D%=7
  65. IF ERRORLEVEL 54 IF NOT ERRORLEVEL 55 SET %D%=6
  66. IF ERRORLEVEL 53 IF NOT ERRORLEVEL 54 SET %D%=5
  67. IF ERRORLEVEL 52 IF NOT ERRORLEVEL 53 SET %D%=4
  68. IF ERRORLEVEL 51 IF NOT ERRORLEVEL 52 SET %D%=3
  69. IF ERRORLEVEL 50 IF NOT ERRORLEVEL 51 SET %D%=2
  70. IF ERRORLEVEL 49 IF NOT ERRORLEVEL 50 SET %D%=1
  71. IF ERRORLEVEL 48 IF NOT ERRORLEVEL 49 SET %D%=0
  72. IF ERRORLEVEL 27 IF NOT ERRORLEVEL 28 GOTO END
  73. IF ERRORLEVEL  0 IF NOT ERRORLEVEL 48 GOTO CHANGE%D%
  74. IF %D%!==FG! GOTO CHANGEBG
  75. IF %D%!==BG! GOTO DUPCHEK
  76. :RESET
  77. SET O=%PROMPT%
  78. ECHO ON
  79. PROMPT $E[0;3%FG%;4%BG%m
  80. ECHO OFF
  81. PROMPT=%O%
  82. CLS
  83. GOTO END
  84. :OOPS
  85. ECHO This needs FOREG.COM and BACKG.COM to work
  86. :END
  87. SET O=
  88. SET FG=
  89. SET BG=
  90. SET C=
  91. SET D=
  92.